package com.hz.interfaces.${p.packageName}.inf;

import java.util.List;

import com.hz.base.beans.vo.CommonResult;
import com.hz.base.beans.vo.PageEntity;
import com.hz.base.beans.vo.QueryParams;
import com.hz.beans.${p.packageName}.entity.${p.entityName};

/**
 * I${p.entityName}Service
 * @author ${p.author}
 * @since [0.0.1]
 * @version [0.0.1,${p.date}]
 */
public interface I${p.entityName}Interface {

	CommonResult<${p.entityName}> add${p.entityName}(${p.entityName} ${p.declareName});

	CommonResult<List<${p.entityName}>> query${p.entityName}List(QueryParams<${p.entityName}> queryParams);

	CommonResult<${p.entityName}> query${p.entityName}(Long id);

	CommonResult<${p.entityName}> update${p.entityName}(${p.entityName} ${p.declareName});

	CommonResult<Object> delete${p.entityName}Array(Long[] ids);

	CommonResult<PageEntity> queryForPage(QueryParams<${p.entityName}> queryParams);
	
	CommonResult<${p.entityName}> insertSelective(${p.entityName} ${p.declareName});
	
	CommonResult<Object> deleteByList(List<${p.entityName}> ${p.declareName}List);
	
	CommonResult<List<${p.entityName}>> batchUpdate(List<${p.entityName}> ${p.declareName}List);
	
	CommonResult<List<${p.entityName}>> batchSave(List<${p.entityName}> ${p.declareName}List);
	
}
